In a typical conventional managed information environment, users employ applications installed in the environment, typically within an interconnected or clustered set of computer systems including a LAN or intranet. Often, such conventional applications are complex, and employ a variety of code and data sources. Frequently, such applications employ data sources codified as data specifications from an external source. Data specifications from an external source, such as published standards maintained by an established and recognized standards body, are subject to periodic revisions and updates.
Typical modern software application development efforts require that applications be capable of rapid modifications of user-visible features through the Graphical User Interface (GUI) and Command Line Interface (CLI), and that the conventional applications be able to rapidly add capabilities of absorbing and rendering new types of information, such as revision to a published standard. It is preferable that such applications be field-modifiable to extend capabilities. Modern applications should therefore be highly adaptive on two fronts. First, they need to provide capability to allow users to quickly add and modify features and feature sets. Second, they need to be adaptable to new information sources, sources not known at the time the application is released to customers. In the storage industry, in particular, the need exists for monitoring and management applications to adapt quickly to completely new storage device types and new versions of existing storage device types with added capabilities, and to add support for those devices as quickly as possible. The software frameworks supporting these conventional applications require significant field extensibility and data-driven characteristics so that their behavior in the field may be modified through changes only to their data definitions, and not require code modification with consequent re-qualification and re-release.
Typically, a conventional data specification codifying such a published standard is incorporated or introduced into an application environment by identifying the application objects or entities which employ the data specification, and revising the objects or entities, such as code files, accordingly. Often, however, the objects and entities employing the data specification are integrated throughout the application by being compiled, or built, into the application. Accordingly, updating the application environment to recognize the new data specification may require development of a revised object or entity by a source code or device vendor, and/or may trigger a rebuild (recompilation and bind/link) of the application environment in order to propagate the changes made to such an external data specification.